package com.icngor.service.impl;

import java.util.Date;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.icngor.dao.BaseDaoI;
import com.icngor.model.TMenu;
import com.icngor.model.TUser;
import com.icngor.service.RepairServiceI;
import com.icngor.utils.Encrypt;

@Service("repairService")
public class RepairServiceImpl implements RepairServiceI{

	private BaseDaoI<TMenu> menuDao;
	private BaseDaoI<TUser> userDao;

	public BaseDaoI<TMenu> geTMenuDao() {
		return menuDao;
	}
	
	@Autowired
	public void seTMenuDao(BaseDaoI<TMenu> menuDao) {
		this.menuDao = menuDao;
	}

	public BaseDaoI<TUser> getUserDao() {
		return userDao;
	}

	@Autowired
	public void setUserDao(BaseDaoI<TUser> userDao) {
		this.userDao = userDao;
	}
	
	@Override
	public void repair() {
		repairUser();
		repairMenu();
	}

	private void repairUser() {
		TUser o = new TUser();
		o.setId("0");
		o.setName("admin");
		o.setPwd(Encrypt.e("admin"));
		o.setModifytime(new Date());
		userDao.saveOrUpdate(o);
		
		for(int i=1; i<14;i++){
			TUser u = new TUser();
			u.setId(i+"");
			u.setName("admin"+i);
			u.setPwd(Encrypt.e("admin"));
			u.setModifytime(new Date());
			userDao.saveOrUpdate(u);
		}
	}

	private void repairMenu() {
		//先清空表，然后还还原数据
		
		TMenu o = new TMenu();
		o.setId("0");
		o.setTextx("首页");
		o.setIconCls("x");
		o.setUrl("x");
		menuDao.saveOrUpdate(o);
		
		TMenu xtgl = new TMenu();
		xtgl.setId("xtgl");
		xtgl.setTMenu(o);
		xtgl.setTextx("系统管理");
		xtgl.setUrl("");
		xtgl.setIconCls("x");
		menuDao.saveOrUpdate(xtgl);

		TMenu yhgl = new TMenu();
		yhgl.setId("yhgl");
		yhgl.setTMenu(xtgl);
		yhgl.setTextx("用户管理");
		yhgl.setUrl("/admin/yhgl.jsp");
		yhgl.setIconCls("x");
		menuDao.saveOrUpdate(yhgl);

		TMenu jsgl = new TMenu();
		jsgl.setId("jsgl");
		jsgl.setTMenu(xtgl);
		jsgl.setTextx("角色管理");
		jsgl.setIconCls("x");
		jsgl.setUrl("");
		menuDao.saveOrUpdate(jsgl);

		TMenu qxgl = new TMenu();
		qxgl.setId("qxgl");
		qxgl.setTMenu(xtgl);
		qxgl.setTextx("权限管理");
		qxgl.setIconCls("x");
		qxgl.setUrl("");
		menuDao.saveOrUpdate(qxgl);

		TMenu cdgl = new TMenu();
		cdgl.setId("cdgl");
		cdgl.setTMenu(xtgl);
		cdgl.setTextx("菜单管理");
		cdgl.setIconCls("x");
		cdgl.setUrl("");
		menuDao.saveOrUpdate(cdgl);

		TMenu buggl = new TMenu();
		buggl.setId("buggl");
		buggl.setTMenu(xtgl);
		buggl.setTextx("BUG管理");
		buggl.setIconCls("x");
		buggl.setUrl("");
		menuDao.saveOrUpdate(buggl);
	}


}
